﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cesave.Domain.PermisosModule.Entities;

namespace Cesave.Domain.PermisosModule.Contracts.FoliosPermisos
{
	/// <summary>
	/// 
	/// </summary>
	public interface IFoliosPermisoService
		: IDisposable
	{
		/// <summary>
		/// 
		/// </summary>
		/// <param name="folio"></param>
		void AddFoliosPermiso(FoliosPermiso folio);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="folio"></param>
		void ChangeFoliosPermiso(FoliosPermiso folio);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="juntaGuid"></param>
		/// <param name="cicloGuid"></param>
		/// <param name="areaGuid"></param>
		int IncreaseFoliosPermiso(Guid juntaGuid, Guid cicloGuid, Guid areaGuid);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="juntaGuid"></param>
		/// <param name="cicloGuid"></param>
		/// <param name="areaGuid"></param>
		FoliosPermiso FindFolioPermisoByJuntaAndCicloAndArea(Guid juntaGuid, Guid cicloGuid, Guid areaGuid);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="juntaGuid"></param>
		/// <param name="cicloGuid"></param>
		List<FoliosPermiso> FindFoliosPermisoByJuntaAndCiclo(Guid juntaGuid, Guid cicloGuid);
	}
}
